查看原文
其他

[开源]基于Arduino+OpenCV的颠球机器人

wcc149 电子电路开发学习 2021-01-31

最近在网上看到了个视频,挺好玩的,分享给大家。

其实作者在2014年就开始做这个了,最开始是这样的:

看完了,是不是觉得似曾相识呢?这不就是2017年的电赛B题目的升级版吗?17年电赛那个题目,常用的解决方案是把摄像头放在上面,而且小球只在平板上进行二维运动。这个项目是把摄像头放在了透明玻璃的下面,小球的高度和和摄像头采集的小球图像大小成比例关系,在二维运动的基础上升级为了三维立体运动。

上位机实时状态显示

这是一个基于步进电机 + Teensy 4.0 + OpenCV实现的乒乓球控制系统,整个项目实现原理的框图如下:

软件整体框图

主要分为上位机和下位机,上位机是通过摄像头采集的图像,使用OpenCV算法进行图像处理,计算出小球的三维位置,然后通过PID算法,计算出每个步进电机所需要运动的角度,然后通过串行总线把数据发送给下位机Teensy开发板,开发板根据上位机发来的数据,解析出4个步进电机所需的角度,然后通过PWM输出脉冲信号给驱动。

输出的控制方波

主要元器件

  • 1块Teensy 4.0开发板,主频600MHz,基于i.MX RT1060,可以使用Arduino开发。

  • 1个 DM442S 步进电机驱动器,可同时驱动4路步进电机

  • 4个Nema 17 42步进电机

  • 1个48V 8A的电源

  • 1个高分辨率的See3CAM_CU135摄像头

  • 1台安装OpenCV的Windows电脑主机

Teensy 4.0开发板,使用NXP RT1062,可以当做Arduino来使用。

Teensy 4.0开发板

所使用到的步进电机和驱动器。

步进电机和驱动器

3D打印的五金零部件。

零部件
零部件

组装效果。

组装完成
组装完成

资料下载

GitHub开源地址: 

https://github.com/T-Kuhn/HighPrecisionStepperJuggler

或者关注我的公众号(ID: mc149),后台回复【乒乓球】关键字,获取完整的代码下载地址。

推荐阅读


  • 我的博客:www.wangchaochao.top

  • 我的公众号:mcu149

由于微信文章不支持超链接,文中出现的软件、程序等文件下载,可以点击"阅读原文",跳转到我的博客文章进行下载。


原创不易,如果觉得我的文章对你有所帮助,可以随手点“好看”分享,你的支持将是我持续更新的动力。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存